<html>
<head><meta charset="utf-8"><title>cranelift webassembly/wasi trustworthy compilation · t-compiler · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/index.html">t-compiler</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html">cranelift webassembly/wasi trustworthy compilation</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="204268863"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204268863" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204268863">(Jul 17 2020 at 22:56)</a>:</h4>
<p>hello there!<br>
a difference between Rust and and some other languages like C++, it's that compiling implies executing arbitrary code with proc-macros and if you add cargo, build scripts</p>
<p>I think that when Cranelift is integrated with rustc, then it would be interesting to start using WASI/WebAssembly to execute proc-macros (if not build scripts) so that these do not have access to anything they do not need to access, and if possible, are isolated (e.g. only copy on write access to files with a dedicated copy used for compilation and not raw writes)</p>
<p>The problem is that this is a breaking change for the whole eco-system, but I think it would be good to include in the next Rust edition</p>
<p>Currently, through <a href="http://crates.io">crates.io</a>, everyone in the eco-system, including members of the rust code team, is executing arbitrary code from random people on the Internet daily, from an information security standpoint, it is very dangerous</p>
<p>What do you think?</p>



<a name="204268908"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204268908" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204268908">(Jul 17 2020 at 22:57)</a>:</h4>
<p>Not sure what Cranelift has to do with this</p>



<a name="204268922"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204268922" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204268922">(Jul 17 2020 at 22:57)</a>:</h4>
<p><span class="user-mention" data-user-id="211727">@Jonas Schievink</span> wasmtime - but indeed it's not required</p>



<a name="204268970"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204268970" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204268970">(Jul 17 2020 at 22:58)</a>:</h4>
<p>Check out <a href="https://github.com/dtolnay/watt">https://github.com/dtolnay/watt</a> if you haven't yet</p>



<a name="204269005"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204269005" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204269005">(Jul 17 2020 at 22:59)</a>:</h4>
<p>cool ! it would be good if it was default in rustc - to not put users of the compiler at risk</p>



<a name="204269307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204269307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204269307">(Jul 17 2020 at 23:03)</a>:</h4>
<p>another issue is that wasmtime has much poorer architecture support - but I think an interpreter could be sufficient since proc-macros shouldnt be so compute intensive</p>



<a name="204269434"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204269434" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204269434">(Jul 17 2020 at 23:05)</a>:</h4>
<p>wasmtime or the AOT wasm compiler lucet</p>



<a name="204269680"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204269680" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204269680">(Jul 17 2020 at 23:08)</a>:</h4>
<p>seems watt/rust-wasm supports interpreting so that's good</p>



<a name="204269695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204269695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204269695">(Jul 17 2020 at 23:09)</a>:</h4>
<p>watt uses an interpreter to keep compile times down</p>



<a name="204269709"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204269709" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204269709">(Jul 17 2020 at 23:09)</a>:</h4>
<p>there's also a jit it seems</p>



<a name="204269728"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204269728" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204269728">(Jul 17 2020 at 23:09)</a>:</h4>
<p>Well, I suppose it won't matter if this is integrated into rustc since it (or Cargo) would ship the WASM runtime</p>



<a name="204269737"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204269737" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Jonas Schievink  [he/him] <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204269737">(Jul 17 2020 at 23:09)</a>:</h4>
<p>Only platform support matters</p>



<a name="204269818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204269818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204269818">(Jul 17 2020 at 23:10)</a>:</h4>
<p>yes I think interpreters can be OK for proc-macros, I don't think anything is compute intensive in proc-macros in the eco-system today (besides exotic experiments)</p>



<a name="204290957"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204290957" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204290957">(Jul 18 2020 at 08:21)</a>:</h4>
<p>what I don't like about stuff like <code>watt</code> is that it serializes through strings and uses none of the RPC infrastructure built into <code>libproc_macro</code></p>



<a name="204290999"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204290999" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204290999">(Jul 18 2020 at 08:22)</a>:</h4>
<p>which is there to eventually allow executing proc macros in separate processes (or, in this case, inside a WASM runtime, which might be overall cheaper)</p>



<a name="204291026"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291026" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291026">(Jul 18 2020 at 08:23)</a>:</h4>
<p>(although for now that RPC is only used to allow proc macros and the compiler running them, to be built by different rustc versions)</p>



<a name="204291076"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291076" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291076">(Jul 18 2020 at 08:24)</a>:</h4>
<p><span class="user-mention silent" data-user-id="119009">eddyb</span> <a href="#narrow/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation/near/204290999">said</a>:</p>
<blockquote>
<p>which is there to eventually allow executing proc macros in separate processes (or, in this case, inside a WASM runtime, which might be overall cheaper)</p>
</blockquote>
<p>cool that this exists!</p>



<a name="204291101"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291101" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291101">(Jul 18 2020 at 08:25)</a>:</h4>
<p>like, it's cool as a demo of something running on stable, I guess, but it's more effort than plumbing just the <code>proc_macro::bridge</code> stuff through (which is mostly just passing byte buffers back and forth between the "client" and the "server"), and it's not integrated with the compiler so anyone who actually wants to use it in production will have to do some really nasty hacks to make it work</p>



<a name="204291145"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291145" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291145">(Jul 18 2020 at 08:26)</a>:</h4>
<p>and if people actually adopt it, that just delays the implementation of a proper solution even more</p>



<a name="204291207"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291207" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291207">(Jul 18 2020 at 08:28)</a>:</h4>
<p>I think there should be a solution enabled by default in the compiler, otherwise the security benefits are nil</p>



<a name="204291219"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291219" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291219">(Jul 18 2020 at 08:29)</a>:</h4>
<p>So obviously it wouldnt be a plain copy of watt - I think Jonas just shared that as an existing solution to it</p>



<a name="204291221"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291221" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291221">(Jul 18 2020 at 08:29)</a>:</h4>
<p>but it's not a <em>solution</em>, it's a demo</p>



<a name="204291223"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291223" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291223">(Jul 18 2020 at 08:30)</a>:</h4>
<p>for example, you can't use hygiene with it</p>



<a name="204291224"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291224" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291224">(Jul 18 2020 at 08:30)</a>:</h4>
<p>yes we agree here</p>



<a name="204291265"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291265" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291265">(Jul 18 2020 at 08:30)</a>:</h4>
<p>so e.g. I don't think Rocket's macros will work with this</p>



<a name="204291267"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291267" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291267">(Jul 18 2020 at 08:30)</a>:</h4>
<p>I meant to say a demo as well.</p>



<a name="204291278"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291278" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291278">(Jul 18 2020 at 08:31)</a>:</h4>
<p>sorry I'm just... I don't like demos which feel posited like they're production ready</p>



<a name="204291288"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291288" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291288">(Jul 18 2020 at 08:31)</a>:</h4>
<p>or that look to an unsuspecting eye like they might be the "official solution"</p>



<a name="204291291"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291291" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291291">(Jul 18 2020 at 08:31)</a>:</h4>
<p>I don't think that it was the intent behind all of this!</p>



<a name="204291335"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291335" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291335">(Jul 18 2020 at 08:32)</a>:</h4>
<p>sorry but I can't read the way it's presented as anything else. there are <em>zero</em> warnings telling you not to use this and that it's just a demo (and it's also documented very professionally)</p>



<a name="204291338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291338">(Jul 18 2020 at 08:32)</a>:</h4>
<p>the other thing that bothers me is the <code>wa-</code> crates that are wasm blobs uploaded to <a href="http://crates.io">crates.io</a></p>



<a name="204291392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> eddyb <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291392">(Jul 18 2020 at 08:34)</a>:</h4>
<p>we don't have a policy against any of this, and I don't think we should, it just <em>personally</em> doesn't feel like the right way to move forward</p>



<a name="204291393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/204291393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Leo Le Bouter <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#204291393">(Jul 18 2020 at 08:35)</a>:</h4>
<p>Presented where? On the github README?</p>



<a name="205060645"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/205060645" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Quy Nguyen <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#205060645">(Jul 26 2020 at 17:42)</a>:</h4>
<p>This looks very cool! I'll be using it for some of my proc macro stuff in the near future. Benefits could be huge for security and isolation over normal proc macros.</p>



<a name="205759579"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/205759579" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#205759579">(Aug 03 2020 at 04:43)</a>:</h4>
<p>It doesn't look like watt serializes through strings</p>



<a name="205759621"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/205759621" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#205759621">(Aug 03 2020 at 04:44)</a>:</h4>
<p><a href="https://github.com/dtolnay/watt/blob/master/src/encode.rs#L61-L65">https://github.com/dtolnay/watt/blob/master/src/encode.rs#L61-L65</a></p>



<a name="205759641"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/131828-t-compiler/topic/cranelift%20webassembly/wasi%20trustworthy%20compilation/near/205759641" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Aaron Hill <a href="https://rust-lang.github.io/zulip_archive/stream/131828-t-compiler/topic/cranelift.20webassembly.2Fwasi.20trustworthy.20compilation.html#205759641">(Aug 03 2020 at 04:45)</a>:</h4>
<p>it creates a new id each time a <code>Span</code> occurs, does all of the wasm-side maniuplations with those ids, and then converts them back</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>